var map = null; //地图对象
var ctx=window.daijia.ctx;
$(function () {
	
	$.initProv("#prov", "#city");
	
	//改变地区
	$("#city").change(function(){
		$("#provName").val($("#prov option:selected").text());
		$("#cityName").val($("#city option:selected").text());
		initialize(false);
		clearjingweidu();
	});
	
	//初始化
	if($("#id").length>0){
		if($("#longitude").val()!="" || $("#latitude").val()!=""){
			
			var provName=$("#provName").val();
			var cityName=$("#cityName").val();
			
			if(provName!=""){
				$("#prov option").each(function(index,element){
				  	if($(element).text()==provName){
				 		$(element).attr("selected","selected");
				 		$(element).change();
				 		return false;
				 	}
				});
			}
			
			if(cityName!=""){
				$("#city option").each(function(index,element){
				  	if($(element).text()==cityName){
				 		$(element).attr("selected","selected");
				 		return false;
				 	}
				});
			}
			
			initializeold();
		}
		else{
			$.scojs_message("未选择地区", $.scojs_message.TYPE_ERROR);
		}
	}
	

	//定位
	$("#btn-position").click(function(){
		if($("#companyAddress").val()==''){
			$.scojs_message("请填写地址", $.scojs_message.TYPE_ERROR);
		}
		else{
			initialize(true);
			clearjingweidu();
		}
	});
	
	
	//logo上传
	$('#logo_img').dblclick(function(){
	 	$('#imgFile').click();
	});
	$('#imgFile').on('change',function(){
		if($.trim($(this).val())){
		 	$.ajaxFileUpload({
                url:ctx+'/common/uploadimg.json',
                secureuri:false,
                fileElementId:'imgFile',
                dataType: 'json',
                data: {upload_img_token: $("#upload_img_logo_token").val()},
                success: function (data, textStatus) {
                	if(data.success){
                		$('#logo_img').attr("src",ctx+"/"+data.url);
                		$('#logo').val(data.url);
                	}
                	else{
                		$.scojs_message(data.msg, $.scojs_message.TYPE_ERROR);
                	}
                }
            });
		}
	});
	
	//提交
	$("#submit_form").submit(function(){
		if($("#longitude").val()=='' || $("#latitude").val()==''){
			$.scojs_message("请指定经纬度", $.scojs_message.TYPE_ERROR);
			return false;
		}
		
		var abbreviation=$("#abbreviation").val();
		var reg=new RegExp("[\\u4E00-\\u9FFF]+","g");
		if(reg.test(abbreviation)){
			//漢字
			if(abbreviation.length>8){
				$.scojs_message("公司简称使用汉字最多8个字", $.scojs_message.TYPE_ERROR);
				return false;
			}
		}
		else{
			if(abbreviation.length>16){
				$.scojs_message("公司简称使用非汉字最多16个字符", $.scojs_message.TYPE_ERROR);
				return false;
			}
		}
		
		return true;
	});
	
});


/********************地图初始化*********************/

//新增初始化
function initialize(isdetailaddress){
	
	var address=$("#city option:selected").text();
	if(isdetailaddress){
		address=$("#companyAddress").val();
	}
	
	var myGeo = new BMap.Geocoder();
	myGeo.getPoint($("#city option:selected").text(), function(point){
		
		if (point) {
			map = new BMap.Map("allmap");  
			map.centerAndZoom(point,13);
		    map.enableScrollWheelZoom();
		    
		    var contextMenu = new BMap.ContextMenu();
			var txtMenuItem = [{
			   text:'设为公司地址',
			   callback:function(p){
			   		map.clearOverlays();
			   		var memberMarker = new BMap.Marker(p);// 创建标注
			   		map.addOverlay(memberMarker);
			   		$("#longitude_span").html(p.lng);
		 		    $("#longitude").val(p.lng);
		 		    $("#latitude_span").html(p.lat);
		 		    $("#latitude").val(p.lat);
	    			var gc = new BMap.Geocoder();
				    gc.getLocation(p, function(rs){
				        var addComp = rs.addressComponents;
				        if(addComp.street!="" || addComp.streetNumber!=""){
				        	$("#companyAddress").val(addComp.street+" "+addComp.streetNumber);
				        }
				        else{
				        	$("#companyAddress").val("暂无名称");
				        }
				    });         
			   }
			}];
			
			for(var i=0; i < txtMenuItem.length; i++){
				contextMenu.addItem(new BMap.MenuItem(txtMenuItem[i].text,txtMenuItem[i].callback,100));
				if(i==1 || i==3) {
					contextMenu.addSeparator();
				}
			}
			map.addContextMenu(contextMenu); 
			
			//本地搜索
			if(isdetailaddress){
			    var local = new BMap.LocalSearch(map, {
		    	  renderOptions:{map: map, autoViewport:true}
		    	});
			    local.search(address);
			    map.addEventListener('click',function(e){
			    	if(e.overlay){
			    	
			    		$("#longitude_span").html(e.point.lng);
			 		    $("#longitude").val(e.point.lng);
			 		    $("#latitude_span").html(e.point.lat);
			 		    $("#latitude").val(e.point.lat);
			    	}
			    	else{
			    		$("#longitude_span").html("");
			 		    $("#longitude").val("");
			 		    $("#latitude_span").html("");
			 		    $("#latitude").val("");
			    	}
			    	  
			   	});
			}
			
		}
		else{
			$.scojs_message("地区位置不准确，请重新编辑地区", $.scojs_message.TYPE_ERROR);
		}
	});
}

//编辑初始化
function initializeold(){
	var longitude=$("#longitude").val();
	var latitude=$("#latitude").val();
	
	var point = new BMap.Point(longitude,latitude);  
	
	if (point) {
		map = new BMap.Map("allmap");  
		map.centerAndZoom(point, 13);
	    map.enableScrollWheelZoom();
		    
	    var oldpoint = new BMap.Point($("#longitude").val(),$("#latitude").val());
	    var marker = new BMap.Marker(oldpoint);  // 创建标注
	    map.addOverlay(marker);              // 将标注添加到地图中

	    var label = new BMap.Label($("#companyName").val(),{offset:new BMap.Size(20,-10)});
	    marker.setLabel(label);
	    
	    var contextMenu = new BMap.ContextMenu();
		var txtMenuItem = [{
		   text:'设为公司地址',
		   callback:function(p){
		   		map.clearOverlays();
		   		var memberMarker = new BMap.Marker(p);  // 创建标注
    			map.addOverlay(memberMarker);
    			$("#longitude_span").html(p.lng);
	 		    $("#longitude").val(p.lng);
	 		    $("#latitude_span").html(p.lat);
	 		    $("#latitude").val(p.lat);
	 		
    			var gc = new BMap.Geocoder();
			    gc.getLocation(p, function(rs){
			        var addComp = rs.addressComponents;
			        $("#companyAddress").val(addComp.street+" "+addComp.streetNumber);
			    });         
		   }
		}];
	
		for(var i=0; i < txtMenuItem.length; i++){
			contextMenu.addItem(new BMap.MenuItem(txtMenuItem[i].text,txtMenuItem[i].callback,100));
			if(i==1 || i==3) {
				contextMenu.addSeparator();
			}
		}
		map.addContextMenu(contextMenu);
	    
	}
	else{
		$.scojs_message("地区位置不准确，请重新编辑地区", $.scojs_message.TYPE_ERROR);
	}

}

function clearjingweidu(){
	$("#longitude_span").html("");
    $("#longitude").val("");
    $("#latitude_span").html("");
    $("#latitude").val("");
}